This invention relates to servo control systems for disc drives, and particularly to repetitive learning compensators (RPCs) for disc drive servo systems.
Accurate positioning of a read/write head relative to a disc medium is crucial to the operation of disc drive systems. To reliably read data from or write data to the disc surface, the read and write transducers of the head must be positioned precisely over the center of the track of the media surface from which data is read or on which data is written. A servo system operates the actuator arm assembly on which the head is mounted to position the head relative to the track so the read or write transducer, as the case may be, is centered on the track. Failure to accurately position the read/write head over the desired track during a read operation may result in unreliable data retrieval. Improper positioning of the read/write head during a write operation may result in the loss of the data being written, and in overwriting and destroying data on adjacent tracks.
A growing need for more data storage capacity has resulted in increased track density, thus increasing the number of tracks per radial inch (TPI) on the disc. As track density increases, the track width decreases, requiring head positioning to be even more accurate. Consequently, the servo system must be designed for highly precise head position control.
There are many control schemes used in servo systems of hard disc drives. Most disc drives employ a proportional-integral-derivative (PID) or state-feedback (SFB) controller for major control operations. To enhance the servo performance, adaptive and robust schemes are also used as feedforward loops. Examples of servo systems employing feedforward loops include model reference control, adaptive feedforward cancellation (AFC), proximate time optimal servomechanism (PTOS), iterative learning control (ILC), command shaping, repetitive learning compensators (RLC), and others.
Repetitive learning compensators (also called xe2x80x9crepetitive learning controllersxe2x80x9d or xe2x80x9cRLCsxe2x80x9d) are implemented in code to reject repetitive disturbances, such as repeatable runout (RRO). Examples of sources of RRO include disturbances associated with the spindle motor, and written-in RRO which is a special repetitive disturbance having a fundamental frequency equal to the spindle frequency.
Some RLCs employ a positive feedback of the output of a delay line to form a filter that cancels the repeatable disturbances at frequencies which are integer multiples (harmonics) of a fundamental frequency f0 that is based on the disc rotation. More particularly, for a drive spindle motor speed of RPM, the fundamental frequency f0 is equal to RPM/60. Typically the filter is a digital filter-in-the form of a memory buffer, the length of which is based on a ratio of a sample frequency fs and the fundamental frequency f0. Most RLCs employ a comb filter, which exhibits an infinite number of spikes or comb teeth to amplify signals at frequencies that are multiples (harmonics) of the fundamental frequency. In a feedback control system, this selective signal amplification at specified frequencies can be used to attenuate disturbances at harmonics of the fundamental frequency. Consequently, a high-gain control is achieved at these frequencies.
In hard disc drive servo controls, it is often necessary to cancel multiple harmonics of the spindle motor. Consequently, not only must the fundamental harmonic (1xc3x97) be cancelled, but also 2xc3x97, 3xc3x97, 4xc3x97 and so on. The adaptive feedforward compensation (AFC) can selectively cancel the RRO of different harmonic frequencies, for example, 1xc3x97, 3xc3x97, 5xc3x97 etc., but the AFC is computationally more complex and expensive to implement. The RLC, on the other hand, is relatively simple to implement.
FIG. 1 illustrates one form of repetitive learning compensator (RLC) according to the prior art. Plant 80 is driven by a servo signal r and is subject to external repetitive disturbances. In a disc drive, plant 80 is the actuator assembly that includes an actuator arm driven by a voice coil motor to position a read/write head relative to the disc medium. The read/write head reads data from the disc and returns information concerning track positioning to summing node 81 where it modifies the input servo signal. A general filter 82 contains a low pass filter, known as Q-filter, and a memory buffer. The Q-filter provides a response Q(zxe2x88x921) to shape the ideal internal model Gr0(zxe2x88x921), where             G      r0        ⁢          (              z                  -          1                    )        =            1              1        -                  z                      -            N                                .  
The memory buffer has a length N equal to the number of servo sectors on a track on the disc medium. More particularly, the sample frequency fs is the fundamental frequency f0 multiplied by the number n of servo sectors on the disc track, fs=nxc2x7f0, so N=n.
Feedback controller 84 provides a response C(zxe2x88x921). In the control system shown in FIG. 1, the input signal, as modified by the signal from the head in plant 80, is applied to filter 82 and is summed with the output from filter 82 at summing node 83 for input to feedback controller 84. In other forms of RLCs, the output of summing node 83 is coupled to the input to filter 82 to form a loop with filter 82, so that the filter input comprises the modified input signal summed with the filter output. In either case, filter 82 samples a modified input signal over a sampling period Ts based on the number of embedded servo sectors in a track. The shaped internal model of filter 82 is             G      r        ⁢          (              z                  -          1                    )        =            1              1        -                              Q            ⁢                          (                              z                                  -                  1                                            )                                ⁢                      z                          -              N                                            .  
In practice, the Q-filter in block 82 is used to restrict the bandwidth of the RLC because the maximal frequency of interest is far lower than the Nyquest frequency fn, which is half of the sampling frequency fs.
In FIG. 1, filter 82 is placed before feedback controller 84. The RLC may also implemented as shown in FIG. 2 with summing node 83 after the feedback controller 84. The internal models of the RLC of FIGS. 1 and 2 are similar.
Plant 80 is subject to external repetitive disturbances known as torque level disturbance denoted by dT and positional level denoted by dp. The RLC has a filter transfer function of H(zxe2x88x921) determined by analyzing the RLC stability condition using the plant model. Considering the torque level repetitive disturbance dT and the positional level repetitive disturbance dp, the feedback controller 84 can be designed independently of the RLC. The RLC is employed to enhance the control performance of rejecting repetitive disturbances.
The ability of the RLC to reject disturbances is characterized by a disturbance rejection transfer function Gdy(zxe2x88x921) and a sensitivity function S(zxe2x88x921). These are given by                                                         G              dy                        ⁡                          (                              z                                  -                  1                                            )                                =                                    y                              d                r                                      =                                                            P                  ⁡                                      (                                          z                                              -                        1                                                              )                                                                    1                  +                                                            C                      ⁡                                              (                                                  z                                                      -                            1                                                                          )                                                              ⁢                                          P                      ⁡                                              (                                                  z                                                      -                            1                                                                          )                                                                                                        =                                                                    P                    ⁡                                          (                                              z                                                  -                          1                                                                    )                                                        ⁢                                      S                    ⁡                                          (                                              z                                                  -                          1                                                                    )                                                                      =                                                                            T                      ⁡                                              (                                                  z                                                      -                            1                                                                          )                                                                                    C                      ⁡                                              (                                                  z                                                      -                            1                                                                          )                                                                              =                                                            1                      -                                              S                        ⁡                                                  (                                                      z                                                          -                              1                                                                                )                                                                                                            C                      ⁡                                              (                                                  z                                                      -                            1                                                                          )                                                                                                                                ,                            [        1        ]            
and                                           S            ⁡                          (                              z                                  -                  1                                            )                                =                                    y                              d                p                                      =                                          1                                  1                  +                                                            C                      ⁡                                              (                                                  z                                                      -                            1                                                                          )                                                              ⁢                                          P                      ⁡                                              (                                                  z                                                      -                            1                                                                          )                                                                                                        =                              1                -                                  T                  ⁡                                      (                                          z                                              -                        1                                                              )                                                                                      ,                            [        2        ]            
where T(zxe2x88x921) is the complementary sensitivity function. In a nominal closed loop system,                                           G            cn                    ⁡                      (                          z                              -                1                                      )                          =                                                            C                ⁡                                  (                                      z                                          -                      1                                                        )                                            ⁢                                                P                  n                                ⁡                                  (                                      z                                          -                      1                                                        )                                                                    1              +                                                C                  ⁡                                      (                                          z                                              -                        1                                                              )                                                  ⁢                                                      P                    n                                    ⁡                                      (                                          z                                              -                        1                                                              )                                                                                =                                                    T                n                            ⁡                              (                                  z                                      -                    1                                                  )                                      =                          1              -                                                                    S                    n                                    ⁡                                      (                                          z                                              -                        1                                                              )                                                  .                                                                        [        3        ]            
Consequently, the output, y, of the filter shown in FIG. 2 can be represented as                               y          =                                                    Pd                r                            +                              d                p                                                    1              +              CP              +                                                G                  r                                ⁢                P                                                    ,                            [        4        ]            
where xcex3 is the RLC gain. Therefore,                                           G            r                    ⁡                      (                          z                              -                1                                      )                          =                  γ          ⁢                                                    Q                ⁡                                  (                                      z                                          -                      1                                                        )                                            ⁢                              z                                  -                  N                                                                    1              -                                                Q                  ⁡                                      (                                          z                                              -                        1                                                              )                                                  ⁢                                  z                                      -                    N                                                                                ⁢                                    H              ⁡                              (                                  z                                      -                    1                                                  )                                      .                                              [        5        ]            
The stability condition of the RLC is modeled in FIG. 3 applying the small gain theorem with |Q(zxe2x88x921)zxe2x88x92N|xe2x89xa61, where ∀xcfx89xe2x89xa62xcfx80fn. Consequently, RLC stability condition may be expressed as
|1xe2x88x92xcex3Gdy(zxe2x88x921)H(zxe2x88x921|xc2x7|Q(zxe2x88x921) less than 1,xe2x80x83xe2x80x83[6]
where ∀xcfx89xe2x89xa62xcfx80fn and z=ej2xcfx80f/fs.
If the Q-filter in block 82 is set to 1, it is not practical to satisfy the RLC stability condition. The Q-filter makes the RLC more robust at the cost of reducing the ability to reject higher harmonics above the cut-off frequency of Q-filter, which is usually a low-pass filter.
The filter transfer function H(zxe2x88x921) also plays an important role in RLC stability. Therefore, the major task in designing an RLC is to determine the transfer function H(zxe2x88x921). A conventional approach is to make H(zxe2x88x921)≈Gxe2x88x921dy (z31 1). This is done in zero phase error tracking controllers by inverting the stably-invertable part of Gdy while maintaining the DC gain unchanged. However, this approach is quite model involved and the feedback controller 84 may need to be re-designed accordingly.
There are numerous problems in designing conventional RLCS. More particularly, the feedback controller should not be altered, and nominal performance in the absence of disturbances should be preserved. In many cases, N may be too large to be applicable in time-critical and memory-critical applications. The filter transfer function design H(zxe2x88x921) is heavily dependent on the plant model information. The Q-filter may introduce peaking frequency drift from the ideal harmonic frequencies. This means that the disturbance attenuation at the ideal harmonic frequencies may significantly worsen. The present invention provides a solution to these and other problems, and offers other advantages over the prior art.
According to the present invention, a repetitive learning compensator is provided for a disc drive servo system. The repetitive learning compensator includes a memory buffer having a length N/m where N is the number of servo sectors in a track on the disc storage medium and m is an integer greater than one representing a parsing factor. A down sampler samples the servo signal, as modified by position error signals from the disc drive head, and supplies samples of the modified servo signal to the repetitive learning compensator at a frequency of fs/m, where fs is a sampling frequency based on N and a fundamental frequency f0 associated with rotation of the disc medium. An up sampler supplies filtered signals from the repetitive learning compensator to the actuator assembly at the sampling frequency fs.
In preferred embodiments of the invention, the repetitive learning compensator is tuned with a phase advance represented by NPA and a cutoff frequency fc. NPA and fc are selected as a pair that provides the greatest transfer function magnitude for the repetitive learning compensator.
In preferred forms of the repetitive learning compensator, the Q-filter of the repetitive learning compensator is further tuned to a learning gain xcex3 and with a phase change for position error represented by Nxe2x80x2. xcex3 and Nxe2x80x2 are selected empirically from plotted stability regions associated with pluralities of xcex3 and Nxe2x80x2.
Another aspect of the invention is a process of attenuating error signals in a servo signal recovered from servo sectors on a storage medium at a sample frequency fc. The servo signal is down-sampled at a frequency equal to fc/m, where m is a parsing factor greater than 1, N is the number of servo sectors on a track on the storage medium, and N/m is an integer. The down-sampled servo signal is filtered using a memory buffer having a length of N/m bits to attenuate error signals in the servo signal. The filtered servo signal is then up-sampled to the sample frequency fc.
In other preferred embodiments, the values of m, NPA and Nxe2x80x2 are selected as 1 less than mxe2x89xa64, 1xe2x89xa6NPAxe2x89xa64 and 1xe2x89xa6Nxe2x80x2xe2x89xa64.
Another aspect of the invention is in a process of designing an optimal repetitive learning compensator for a servo control of a disc drive. The number N of servo sectors in a track on the disc medium of the disc drive is identified, and a frequency is identified based on the rotational speed of the storage medium. A parsing factor m is selected, where m is greater than 1 and N/m is an integer. A memory buffer having a length equal to N/m is tuned by selecting a plurality of phase change integers NPA that operate on the repetitive learning compensator to alter its phase. The optimal cutoff frequency fc for the repetitive learning compensator is identified for each NPA. Each pair, consisting of a phase change integer and corresponding optimal cutoff frequency, tunes the repetitive learning compensator to produce a transfer function. The repetitive learning compensator is tuned using the one phase change integer and its corresponding optimal cutoff frequency that produce the greatest transfer function magnitude.
In accordance with preferred embodiments of this form of the invention, the servo system is responsive to position error signals from the actuator assembly to supply modified servo signals to the repetitive learning compensator. The repetitive learning compensator is further tuned by selecting a plurality of position error phase change integers Nxe2x80x2 associated with the position error signals. A plurality of learning gains xcex3 are selected for the repetitive learning compensator, and a plurality of stability curves are plotted for the repetitive learning compensator based on the selected pluralities of position error phase change integers and learning gains. The repetitive learning compensator is further tuned with the position error phase change integer and the learning gain associated with the one curve having the largest stability region.